1. Field of the Invention
The present invention generally relates to an image processing apparatus, an image processing method, and a computer-readable recording medium storing an image processing program.
2. Description of the Related Art
Recently, in an image processing apparatus such as a printer, a copying machine, a scanner, and a multifunctional peripheral realizing the above functions in one cabinet, generally, similar to in a computer, a CPU (central processing unit) is provided for realizing the functions by controlling application software.
For example, in an image forming apparatus disclosed in Patent Document 1, functions which are used in common among many pieces of application software are provided as a platform, and one application software package can be installed in the platform by using an API (application programming interface) of the platform. In the image forming apparatus, since the functions which are used in common among the many pieces of application software are provided as the platform, it is avoided that the same function of the many pieces of the application software is installed in the platform multiple times, and developing efficiency of the application software can be increased.    [Patent Document 1] Japanese Patent No. 3679349
However, when the granularity (size) of the function (interface) in the platform is not properly designed, the developing efficiency of the application software may not be increased.
For example, when the granularity is too small, even if the application software supplies a simple service, many APIs are required and the source code becomes complex.
On the contrary, in a case where the granularity is too large, when some application software whose part of the function is changed is desired to be installed in the platform, the platform must be changed. Consequently, the developing labor hours of the application software may be increased. Especially, when the dependence relationship among modules in the platform is great, not only a new function must be added in the platform, but an existing function in the platform may be changed.
In addition, when a part (for example, an image inputting process) of a service being supplied by existing application software is changed, the part and another part related to the changed part must be changed. Consequently, new application software in which source code is described must be installed again in the platform.